﻿
namespace System.Management.HyperV.Model.Msvm.CIM
{
    public abstract class ManagedSystemElement : ManagedElement
    {
        #region Constructor
        internal protected ManagedSystemElement(ManagementObject wmiInstance)
            : base(wmiInstance)
        {
        }
        #endregion

        public ushort HealthState
        {
            get { return (ushort)_dmo.HealthState; }
        }
        public string InstallDate
        {
            get { return _dmo.InstallDate as string; }
        }
        public string Name
        {
            get { return _dmo.Name as string; }
        }
        public ushort[] OperationalStatus
        {
            get { return (ushort[])_dmo.OperationalStatus; }
        }
        public string Status
        {
            get { return _dmo.Status as string; }
        }
        public string[] StatusDescriptions
        {
            get { return _dmo.StatusDescriptions as string[]; }
        }
    }
}
